Trend AngleIntroduction:
In today's post, we'll dive deep into the source code of a unique trading tool, the Trend Angle Indicator. The script is an indicator that calculates the trend angle for a given financial instrument. This powerful tool can help traders identify the strength and direction of a trend, allowing them to make informed decisions.
Overview of the Trend Angle Indicator:
The Trend Angle Indicator calculates the trend angle based on the slope of the price movement over a specified period. It uses an Exponential Moving Average (EMA) to smooth the data and an Epanechnikov kernel function for additional smoothing. The indicator provides a visual representation of the trend angle, making it easy to interpret for traders of all skill levels.
Let's break down the key components of the script:
Inputs:
Length: The number of periods to calculate the trend angle (default: 8)
Scale: A scaling factor for the ATR (Average True Range) calculation (default: 2)
Smoothing: The smoothing parameter for the Epanechnikov kernel function (default: 2)
Smoothing Factor: The radius of the Epanechnikov kernel function (default: 1)
Functions:
ema(): Exponential Moving Average calculation
atan2(): Arctangent function
degrees(): Conversion of radians to degrees
epanechnikov_kernel(): Epanechnikov kernel function for additional smoothing
Calculations:
atr: The EMA of the True Range
slope: The slope of the price movement over the given length
angle_rad: The angle of the slope in radians
degrees: The smoothed angle in degrees
Plotting:
Trend Angle: The trend angle, plotted as a line on the chart
Horizontal lines: 0, 90, and -90 degrees as reference points
How the Trend Angle Indicator Works:
The Trend Angle Indicator begins by calculating the Exponential Moving Average (EMA) of the True Range (TR) for a given financial instrument. This smooths the price data and provides a more accurate representation of the instrument's price movement.
Next, the indicator calculates the slope of the price movement over the specified length. This slope is then divided by the scaled ATR to normalize the trend angle based on the instrument's volatility. The angle is calculated using the atan2() function, which computes the arctangent of the slope.
The final step in the process is to smooth the trend angle using the Epanechnikov kernel function. This function provides additional smoothing to the trend angle, making it easier to interpret and reducing the impact of short-term price fluctuations.
Conclusion:
The Trend Angle Indicator is a powerful trading tool that allows traders to quickly and easily determine the strength and direction of a trend. By combining the Exponential Moving Average, ATR, and Epanechnikov kernel function, this indicator provides an accurate and easily interpretable representation of the trend angle. Whether you're an experienced trader or just starting, the Trend Angle Indicator can provide valuable insights into the market and help improve your trading decisions.
在腳本中搜尋"THE SCRIPT"
Optimized Logarithmic Curve for Bitcoin (BTC/USD) by FICASHello everyone!
I'd like to share with you a handy tool that is incredibly useful for analyzing Bitcoin's price movements. This optimized logarithmic curve indicator is a refined version of the popular "My BTC log curve" indicator, originally created by @quantadelic.
We have made several improvements to enhance its predictive capabilities when it comes to identifying potential price bottoms for Bitcoin BTC/USD.
Description:
In this detailed analysis, we are excited to introduce you to an optimized version of the popular "My BTC log curve" indicator, originally created by @quantadelic. We have refined the indicator for enhanced predictive capabilities when it comes to identifying potential price bottoms for Bitcoin BTC/USD. By putting ourselves in the reader's shoes, we aim to provide a comprehensive and meaningful explanation of our analysis and predictions using this improved tool.
The logarithmic curve is a powerful tool for analyzing price movements in a non-linear fashion, allowing traders and investors to identify critical turning points and trends. With the optimized logarithmic curve, we can more accurately predict potential price bottoms, ultimately guiding better-informed trading and investment decisions.
Key Features of the Optimized Logarithmic Curve:
Improved predictive capabilities: The refined logarithmic curve has been optimized to provide more accurate predictions of potential price bottoms, enabling traders to make better-informed decisions.
Enhanced visualization: The optimized curve offers a clearer visual representation of Bitcoin's price movements, making it easier for traders to identify patterns and trends.
Adaptability: This indicator can be applied to various timeframes, providing insights for both short-term and long-term traders.
The optimized logarithmic curve indicator is based on a logarithmic regression of the USD price of Bitcoin, calculated according to the equation:
y = A * exp(beta * x^lambda + c) + m * x + b
where x is the number of days since the genesis block. All parameters are editable in the script options, allowing traders to customize the curve to their preferences.
Here are some of the key changes made to the original indicator to create the optimized logarithmic curve:
Midline Calculation: The optimized logarithmic curve utilizes an updated method for calculating the midline, which better represents the average price movement of Bitcoin over time. This improved midline calculation provides a more accurate representation of Bitcoin's historical price trajectory, making it easier to identify potential price bottoms.
Cross Line Calculation: We have modified the way cross lines are calculated in the optimized logarithmic curve. These new cross lines are derived from a combination of the updated midline calculation and historical support and resistance levels. This change allows traders to more accurately identify critical points in the market where price action is likely to reverse or continue its trend.
Table Display: a powerful visualization tool designed to provide a comprehensive overview of the relationships between various exponential curves and the Bitcoin price. This table display, integrated into the "FiCAS BTC log curve" indicator, enables traders and analysts to quickly compare and assess the impact of these curves on the market.
Our analysis using the optimized logarithmic curve suggests that Bitcoin might be at a critical price bottom, indicating that selling at this point may not be the most prudent course of action. Instead, traders and investors could consider taking advantage of the potential upswing as the market moves away from the identified price bottom.
Key highlights of this Optimized Logarithmic Curve for Bitcoin (BTC/USD) by FICAS:
Custom Pine Script: Pinescript code serves as the backbone of this strategy, providing a strong foundation for identifying potential opportunities based on the relationships between exponential curves and Bitcoin price.
MACD Indicator: The Moving Average Convergence Divergence (MACD) is integrated to help traders recognize trend reversals, bullish or bearish market conditions, and potential entry or exit points.
Momentum Indicator: By incorporating the Momentum (10, close) indicator, traders can identify the strength of price movements and potential trend continuations or reversals.
RSI and SMA: The Relative Strength Index (RSI) is used to assess overbought or oversold conditions, while the Simple Moving Average (SMA) with a period of 14 and an applied factor of 2 smoothens the data for better trend identification.
IMPORTANT:
While this indicator can be applied to traditional BTC/USD charts, we highly recommend using it on the following chart for optimal results in identifying price bottoms:
BITSTAMP:BTCUSD / CRYPTOCAP:BTC.D * 100
By employing the optimized logarithmic curve indicator on the recommended chart, traders can gain a more accurate perspective on potential price bottoms, leading to improved decision-making.
In conclusion, the optimized logarithmic curve indicator provides valuable insights into Bitcoin's price movements, allowing traders and investors to make more informed decisions. We encourage you to test this refined tool and share your thoughts in the comments section. Special thanks to @quantadelic, the first creator of this indicator, for inspiring us to develop this optimized version. If you have any questions or require further clarification, please feel free to ask. Wishing you success in your trading and investment endeavors!
Please ensure you understand and abide by the TradingView House Rules when using this indicator: www.tradingview.com
Regular Trading Hour Sessions for America, Asia and EUThis trading view script is a simple one but I find it very helpful in spotting changes in trend of FX.
The basic idea is to create a visual direction from the previous session to the next new session.
The concept while basic provides visual trend direction and changes as session change.
The three sessions are:
1. Asia from 2130-0400
2. Europe from 0300-1130
3. America from 0930-1600
When you use a line chart you will see the default line when no sessions are active.
Features I plan to add
* Tracking delta of each session
* Moving Averages of each session
* Momentum of each session
* Delta difference
My ultimate goal for this script will be to provide a way to visualize the impact of each session and provide data to buy/sell triggers for Trading Strategies.
Please provide feedback and if you use the script or add a feature please update me or send me the feature to add to the script.
EMA CO AlertEMAs play an important role in identifying the mood of the market.
Frequently used short term EMA is 5 and long term EMA is 50.
This script detects the crossover (+ve and -ve) and generates alerts accordingly.
Steps to apply:
1) Open the script on a desired timeframe.
2) Add this indicator on the chart
3) Choose the values of the 2 EMAs from settings
4) Go to the alert window.
5) Select this indicator from the 'Condition' dropdown
6) Create the alert.
This alert will then run in the background and notify you.
Need to apply a one time alert on the scripts.
In addition to above, you can also add this indicator on the chart and it will show green/red lines on the chart for signals.
Profitable Supertrend v0.1 - AlphaThis a script to try detect the best combination of supertrend parameters in a space of time. Sadly the script is slow. Evaluate all possibilities params is hard for a pinescript and my knowledge too. In some cases, when you want evaluate many time could be the script fails for timeout. Perhaps with time I could enhance. For this problem of speed the calculate of combinatios it's not complete: In factor use a increment of 0.2 in each param (0.1, 0.3, 0.5 ...) in period the increment for each value is 3. The range for factor it's from 3.0 to 12.0. The range of period it's from 10 to 43
My knowledge don't let me go more far. Perhaps with time I can enhance the script.
Fibonacci compressionThis script will search x-bars back, if it can find a triangle formation that meets certain Fibonacci ratios.
Based on the trend-based fib extension tool from the first high to the first low and then the 2nd high (in a bullish structure, inverse for bearish), we can predict the take profit levels.
The main target is the 0.618, first take profit is at the 0.236. In a strong trend, one can aim for the 1 fib ratio.
Once the 3 points are known, the script will already plot the take profit levels. It is better to wait until the full pattern develops with a 2nd lower high and a 2nd higher low.
The way I use it, is closing 20% at TP1, 80% of the remainder at TP2 and final close out at TP3.
Stop loss is the red line which will show up after a full pattern is formed.
Plot out the profit levels with the trend based fib extension tool, because once there's a break-out of the pattern, the script won't show the compression any more. (or use the replay button to go back in time to plot it again)
The volume label will appear once there's a divergence between the low and higher low or the high and lower high. It is based on my cumulative volume script. It only works well on timeframes above 4 hour, but volume in favor of a short, doesn't always guarantee a good short setup, so don't take it for granted.
It has around a 30 - 33% chance of hitting your TP2, so make sure the risk to reward is at least 3.
Happy trading!
Rolling HTF Liquidity Levels [CHE]█ OVERVIEW
This indicator displays a Rolling HTF Liquidity Levels . Contrary to HTF Liquidity Levels indicators which use a fix time segment, Rolling HTF Liquidity Levels calculates using a moving window defined by a time period (not a simple number of bars), so it shows better results.
This indicator is inspired by
The indicator introduces a new representation of the previous rolling time frame highs & lows (DWM HL) with a focus on untapped levels.
█ CONCEPTS
Untapped Levels
It is popularly known that the liquidity is located behind swing points or beyond higher time frames highs/lows.
Rolling HTF Liquidity Levels uses a moving window, it does not exhibit the static of the HTF Liquidity Levels plots.
█ HOW TO USE IT
Load the indicator on an active chart (see the Help Center if you don't know how).
Time period
By default, the script uses an auto-stepping mechanism to adjust the time period of its moving window to the chart's timeframe. The following table shows chart timeframes and the corresponding time period used by the script. When the chart's timeframe is less than or equal to the timeframe in the first column, the second column's time period is used to calculate the Rolling HTF Liquidity Levels:
Chart Time
timeframe period
1min 🠆 1H
5min 🠆 4H
1H 🠆 1D
4H 🠆 3D
12H 🠆 1W
1D 🠆 1M
1W 🠆 3M
By default, the time period currently used is displayed in the lower-right corner of the chart. The script's inputs allow you to hide the display or change its size and location.
This indicator should make trading easier and improve analysis. Nothing is worse than indicators that give confusingly different signals.
I hope you enjoy my new ideas
best regards
Chervolino
Support Resistance Channels/Zones Multi Time FrameHello All,
For long time I have been getting a lot of requests for Support/Resistance Multi Time Frame script. Here ' Support Resistance Channels/Zones Multi Time Frame ' is in your service.
This script works if the Higher Time Frame you set is higher than the chart time frame. so the time frame in the options should be higher than the chart time frame.
The script checks total bars and highest/lowest in visible part of the chart and shows all S/R zones that fits according the highest/lowest in visible part. you can see screenshots below if it didn't make sense or if you didn't understand
Let see the options:
Higher Time Frame : the time frame that will be used to get Support/Resistance zones, should be higher than chart time frame
Pivot Period : is the number to find the Pivot Points on Higher time frame, these pivot points are used while calculating the S/R zones
Loopback Period : is the number of total bars on higher time frame which is used while finding pivot points
Maximum Channel Width % : is the percent for maximum width for each channel
Minimum Strength : each zone should contain at least a 1 or more pivot points, you set it here. (Open/High/Low/Close also are considered while calculating the strength)
Maximum Number of S/R : the number of maximum Support/Resistance zones. there can be less S/Rs than this number if it can not find enough S/Rs
Show S/R that fits the Chart : because of we use higher time frame, you should enable this option then the script shows only S/Rs that fits the current chart. if you disable this option, all S/R zones are shown and it may shrink the chart. also you may not see any S/R zone if you don't choose the higher time frame wisely ;)
Show S/R channels in a table : if you enable this option (by default it's enabled) then lower/upper bands of all S/R zones shown in a table ( even if it doesn't fit the chart ). you can change its location. zones are sorted according to their strengths. first one is the strongest.
and the other options is about colors and transparency.
Screenshots before and after zoom-out:
after zoom-out number of visible bars and highest/lowest change and it shows more S/R zones that fits the current chart!
if you see Support Resistance zone like below then you should decrease ' Maximum Channel Width ' or you should set higher time frame better:
You can change colors and transparency:
You can change Table location:
Alerts added :)
P.S. I haven't tested it so much, if you see any issue please drop a comment or send me message
Enjoy!
10yr, 20yr, 30yr Averages: Month/Month % Change; SeasonalityCalculates 10yr, 20yr and 30yr averages for month/month % change
~shows seasonal tendencies in assets (best in commodities). In above chart: August is a seasonally bullish month for Gold: All the averages agree. And January is the most seasonally bullish month.
~averages represent current month/previous month. i.e. Jan22 average % change represents whole of jan22 / whole of dec21
~designed for daily timeframe only: I found calling monthly data too buggy to work with, and I thought weekly basis may be less precise (though it would certainly reduce calculation time!)
~choose input year, and see the previous 10yrs of monthly % change readings, and previous 10yrs Average, 20yr Average, 30yr Average for the respective month. Labels table is always anchored to input year.
~user inputs: colors | label sizes | decimal places | source expression for averages | year | show/hide various sections
~multi-yr averges always print, i.e if only 10yrs history => 10yr Av = 20yr Av = 30yr Av. 'History Available' label helps here.
Based on my previously publised script: "Month/Month Percentage % Change, Historical; Seasonal Tendency"
Publishing this as seperate indicator because:
~significantly slower to load (around 13 seconds)
~non-premium users may not have the historical bars available to use 20yr or 30yr averages =>> prefer the lite/speedier version
~~tips~~
~after loading, touch the new right scale; then can drag the table as you like and seperate it from price chart
##Debugging/tweaking##
Comment-in the block at the end:
~test/verifify specific array elements elements.
~see the script calculation/load time
~~other ideas ~~
~could tweak the array.slice values in lines 313 - 355 to show the last 3 consecutive 10yr averages instead (i.e. change 0, 10 | 0,20 | 0, 30 to 0, 10 | 10, 20 | 20,30)
~add 40yr average by adding another block to each of the array functions, and tweaking the respective labels after line 313 (though this would likely add another 5 seconds to the load time)
~use alternative method for getting obtaining multi-year values from individual month elements. I used array.avg. You could try array.median, array.mode, array.variance, array.max, array.min (lines 313-355)
Everything Bitcoin [Kioseff Trading]Hello!
This script retrieves most of the available Bitcoin data published by Quandl; the script utilizes the new request.security_lower_tf() function.
Included statistics,
True price
Volume
Difficulty
My Wallet # Of Users
Average Block Size
api.blockchain size
Median Transaction Confirmation Time
Miners' Revenue
Hash Rate
Cost Per Transaction
Cost % of Transaction Volume
Estimated Transaction Volume USD
Total Output Volume
Number Of Transactions Per Block
# of Unique BTC Addresses
# of BTC Transactions Excluding Popular Addresses
Total Number of Transactions
Daily # of Transactions
Total Transaction Fees USD
Market Cap
Total BTC
Retrieved data can be plotted as line graphs; however, the data is initially split between two tables.
The image above shows how the requested Bitcoin data is displayed.
However, in the user inputs tab, you can modify how the data is displayed.
For instance, you can append the data displayed in the floating statistics box to the stagnant statistics box.
The image above exemplifies the instance.
You can hide any and all data via the user inputs tab.
In addition to data publishing, the script retrieves lower timeframe price/volume/indicator data, to which the values of the requested data are appended to center-right table.
The image above shows the script retrieving one-minute bar data.
Up arrows reflect an increase in the more recent value, relative to the immediately preceding value.
Down arrows reflect a decrease in the more recent value relative to the immediately preceding value.
The ascending minute column reflects the number of minutes/hours (ago) the displayed value occurred.
For instance, 15 minutes means the displayed value occurred 15 minutes prior to the current time (value).
Volume, price, and indicator data can be retrieved on lower timeframe charts ranging from 1 minute to 1440 minutes.
The image above shows retrieved 5-minute volume data.
Several built-in indicators are included, to which lower timeframe values can be retrieved.
The image above shows LTF VWAP data. Also distinguished are increases/decreases for sequential values.
The image above shows a dynamic regression channel. The channel terminates and resets each fiscal quarter. Previous channels remain on the chart.
Lastly, you can plot any of the requested data.
The new request.security_lower_tf() function is immensely advantageous - be sure to try it in your scripts!
Support/Resistance With Breaks & Bounces [MyTradingCoder]This script uses the built-in pivothigh/pivotlow functions to find and identify new levels of basic support and resistance. The script will also automatically identify the first occurrence of a bounce/rejection off the most recent green/red line as well as automatically identify the first occurrence of a breakout of the most recent green/red line. This is a very basic, but effective indicator that is well written, and open source for anyone to learn from or build off of.
All details needed to understand how to use the script are listed below. Enjoy!
Customizable inputs:
- Option to change how pivot points are calculated('candle body' or 'candle wicks')
- Option to change the sensitivity of the pivots(leftbars and rightbars linked)
- Option to change the line width
Available Alert Options:
- Red Line Breakout
- Red Line Bounce/Rejection
- Green Line Breakout
- Green Line Bounce/Rejection
User Manual:
- All calculations are done on the last update of the bar(candle close)
- Only 1 breakout will be allowed per line
- Only 1 rejection will be allowed per line
- If the text is red, then the signal is related to the 'red line', if the text is green, then the signal is related to the 'green line'
- The code is open source, and is programmed using arrays/loops out of the gate, despite not needing to do so. This allows for easy modifications to the scripts behavior while keeping the functionality without it breaking.
- Pivot Rightbars is hardcoded to the same value for leftbars(leftbars = sensitivity). Uncomment the input for right_bars if you want the ability to change the rightbars independently from the leftbars
- When a new line is identified, the old one will stop updating, and no longer be considered for breakout/rejections. This can be changed with a bit of pine knowledge by performing some slight modifications to the code.
- When a new line is drawn, the old line will move backwards a little bit for cleanliness/clarity purposes
- If you have any questions/comments/requests/concerns please leave them down in the comments below
- Don't forget to leave a like if you find this script useful
ICT Fair Value Gap [LM]Hello traders,
I would like to present you ICT Fair Value Gap script. The idea is the same as in my other script to look form imbalances. I have improved the previous script from teaching of ICT and created this script to train the eye to see those gaps. Shrinking option also shows if the gap has been already filled and also in case gap is filled you can get alert in case you will set it up .
The script has two settings:
general settings - definition of volatility condition for middle candle
box settings - setting for boxes, box colors, shrinking
I hope you enjoy it,
Lukas
RSI Failure Swings & AO DivergencesHello!
The script identifies RSI divergences, similar to other public scripts; however, RSI failure swings are also distinguished. When a failure swing is identified, the script calculates the highest RSI measurement (bottom failure swing) or the lowest RSI measurement (top failure swing) between the two RSI pivot points. A continually updating line is plotted at the "fail point" until it is penetrated for two sessions! In addition, the script displays the RSI fail point measurement. RSI bearish divergences are only distinguished when both RSI peaks form above 70. bullish divergences are only distinguished when both RSI troughs form below 30. Top failure swings require the initial RSI peak be above 70, the second RSI peak can form at any measurement. Bottom failure swings require the initial RSI trough be below 30, the second RSI trough can form at any measurement.
Included are Awesome Oscillator divergences. The indicator is a bit tricky; the oscillator does not incorporate an upper or lower extremity. Consequently, the script uses interpolated percentiles to characterize relatively high measurements and relatively low measurements. Bearish divergences that form within the 90th - 99th percentile are distinguished, and bullish divergences that form within the 1 - 10th percentile are distinguished. This can CERTAINLY be changed should you copy the source code and think of something better! For AO, white columns reflect a difference measurement >= 0; black bars reflect a difference measurement < 0
Advanced Comparison ToolWith the new Pine Script features you can build pretty interesting scripts.
Here is my try to expand functionality of basic comparison tool you have in TradingView.
When you apply it on your chart you can select a bar when do you want to start comparing your instrument from.
In parameters you can specify up to 32 symbols to compare. You can also disable symbols and change color for them as well.
As a result you'll see a table with summary and line for every instrument you selected as if it started from the close of the selected bar.
Disclaimer.
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice
Profit Percentage TrackerThis script provides a quick and easy way to visualize profits in a chart, based on the given entry date and price.
Optionally, alerts can be sent when profits cross up the given " profit unit ".
In short:
Tracks how much profit one could take based on the input " entry date " and the input " entry price "
These inputs are interactive (www.tradingview.com)
Displays the result in a label on top of the last candle
(Optional) Sends alerts based on the given " profit unit ", that is: if ' 0.5 ' is given, then an alert is triggered every time the profit is raised by that number
(Be careful with low values, as TradingView could stop an alert if it triggers too much.)
For alerts to be displayed, a " script alert " must be created right after the script was added to the chart:
- www.tradingview.com
(Choose ' Profits ' as condition and ' Any alert() function call ')
Good to know: if you check " Notify on app ", alerts can be delivered directly to your phone:
i.imgur.com
Prerequirements :
The chart's timezone has to be set to " Exchange " (this is required in order to support the alert's logic):
- kodify.net
TASC 2021.11 MADH Moving Average Difference, Hann█ OVERVIEW
Presented here is code for the "Moving Average Difference, Hann" indicator originally conceived by John Ehlers. The code is also published in the November 2021 issue of Trader's Tips by Technical Analysis of Stocks & Commodities (TASC) magazine.
█ CONCEPTS
By employing a Hann windowed finite impulse response filter (FIR), John Ehlers has enhanced the Moving Average Difference (MAD) to provide an oscillator with exceptional smoothness.
Of notable mention, the wave form of MADH resembles Ehlers' "Reverse EMA" Indicator, formerly revealed in the September 2017 issue of TASC. Many variations of the "Reverse EMA" were published in TradingView's Public Library.
█ FEATURES
Three values in the script's "Settings/Inputs" provide control over the oscillators behavior:
• The price source
• A "Short Length" with a default of 8, to manage the lower band edge of the oscillator
• The "Dominant Cycle", originally set at 27, which appears to be a placeholder for an adaptive control mechanism
Two coloring options are provided for the line's fill:
• "ZeroCross", the default, uses the line's position above/below the zero level. This is the mode used in the top version of MADH on this chart.
• "Momentum" uses the line's up/down state, as shown in the bottom version of the indicator on the chart.
█ NOTES
Calculations
The source price is used in two independent Hann windowed FIR filters having two different periods (lengths) of historical observation for calculation, one being a "Short Length" and the other termed "Dominant Cycle". These are then passed to a "rate of change" calculation and then returned by the reusable function. The secret sauce is that a "windowed Hann FIR filter" is superior tp a generic SMA filter, and that ultimately reveals Ehlers' clever enhancement. We'll have to wait and see what ingenuities Ehlers has next to unleash. Stay tuned...
The `madh()` function code was optimized for computational efficiency in Pine, differing visibly from Ehlers' original formula, but yielding the same results as Ehlers' version.
Background
This indicator has a sibling indicator discussed in the "The MAD Indicator, Enhanced" article by Ehlers. MADH is an evolutionary update from the prior MAD indicator code published in the October 2021 issue of TASC.
Sibling Indicators
• Moving Average Difference (MAD)
• Cycle/Trend Analytics
Related Information
• Cycle/Trend Analytics And The MAD Indicator
• The Reverse EMA Indicator
• Hann Window
• ROC
Join TradingView!